package com.shimao.celnet.payment.model.request;

import org.hibernate.validator.constraints.NotBlank;


/**
 * 对应接口：对应接口：外部开票申请--开票明细
 * Created by stan.ruan on 2017/12/10.
 */
public class CallIn_OutInvOpenBuleDetailReqIn {

    /**
     * 开票记录guid开票记录<p_invoice>的guid
     */
    private String invoiceGuid;

    /**
     * 明细行号
     */
    @NotBlank(message = "明细行号【goodsLineNo】")
    private String goodsLineNo;

    /**
     * 外部系统记录ID
     */
    @NotBlank(message = "外部系统记录ID【exsysDetailID】")
    private String exsysDetailID;

    /**
     * 发票行性质
     */
    @NotBlank(message = "发票行性质【goodsLineNature】")
    private String goodsLineNature;

    /**
     * 国税商品编码
     */
    @NotBlank(message = "国税商品编码【goodsCode】")
    private String goodsCode;

    /**
     * 自定义商品编码
     */
    @NotBlank(message = "自定义商品编码【goodsExtendCode】")
    private String goodsExtendCode;

    /**
     * 自定义商品名称
     */
    @NotBlank(message = "商品名称【goodsExtendCode】")
    private String goodsName;


    /**
     * 规格型号
     */
    private String goodsSpecification;

    /**
     * 商品数量
     */
    private String goodsQuantity;

    /**
     * 商品单价
     */
    private String goodsPrice;

    /**
     * 计量单位
     */
    private String goodsUnit;


    /**
     * 金额
     */
    @NotBlank(message = "金额【goodsTotalPrice】")
    private String goodsTotalPrice;

    /**
     * 税率
     */
    @NotBlank(message = "税率【goodsTaxRate】")
    private String goodsTaxRate;


    /**
     * 税率
     */
    @NotBlank(message = "税额【goodsTotalTax】")
    private String goodsTotalTax;

    public String getGoodsTotalTax() {
        return goodsTotalTax;
    }

    public void setGoodsTotalTax(String goodsTotalTax) {
        this.goodsTotalTax = goodsTotalTax;
    }

    /**
     * 折行对应行号
     */
    private String goodsDiscountLineNo;

    /**
     * 增值税特殊管理
     */
    private String vatSpecialManagement;

    /**
     * 零税率标识空代表无， 1 出口免税和其他免税优惠政策， 2 不征增值税， 3 普通零税率”
     */
    private String freeTaxMark;



    /**
     * 是否使用优惠政策
     */
    @NotBlank(message = "是否使用优惠政策【preferential】")
    private String preferentialMark;

    /**
     * 缴费完成时间
     */
    @NotBlank(message = "缴费完成时间【paymentDate】")
    private String paymentDate;

    public String getInvoiceGuid() {
        return invoiceGuid;
    }

    public void setInvoiceGuid(String invoiceGuid) {
        this.invoiceGuid = invoiceGuid;
    }

    public String getGoodsLineNo() {
        return goodsLineNo;
    }

    public void setGoodsLineNo(String goodsLineNo) {
        this.goodsLineNo = goodsLineNo;
    }

    public String getExsysDetailID() {
        return exsysDetailID;
    }

    public void setExsysDetailID(String exsysDetailID) {
        this.exsysDetailID = exsysDetailID;
    }

    public String getGoodsLineNature() {
        return goodsLineNature;
    }

    public void setGoodsLineNature(String goodsLineNature) {
        this.goodsLineNature = goodsLineNature;
    }

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public String getGoodsExtendCode() {
        return goodsExtendCode;
    }

    public void setGoodsExtendCode(String goodsExtendCode) {
        this.goodsExtendCode = goodsExtendCode;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getGoodsSpecification() {
        return goodsSpecification;
    }

    public void setGoodsSpecification(String goodsSpecification) {
        this.goodsSpecification = goodsSpecification;
    }

    public String getGoodsQuantity() {
        return goodsQuantity;
    }

    public void setGoodsQuantity(String goodsQuantity) {
        this.goodsQuantity = goodsQuantity;
    }

    public String getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(String goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public String getGoodsUnit() {
        return goodsUnit;
    }

    public void setGoodsUnit(String goodsUnit) {
        this.goodsUnit = goodsUnit;
    }

    public String getGoodsTotalPrice() {
        return goodsTotalPrice;
    }

    public void setGoodsTotalPrice(String goodsTotalPrice) {
        this.goodsTotalPrice = goodsTotalPrice;
    }

    public String getGoodsTaxRate() {
        return goodsTaxRate;
    }

    public void setGoodsTaxRate(String goodsTaxRate) {
        this.goodsTaxRate = goodsTaxRate;
    }

    public String getGoodsDiscountLineNo() {
        return goodsDiscountLineNo;
    }

    public void setGoodsDiscountLineNo(String goodsDiscountLineNo) {
        this.goodsDiscountLineNo = goodsDiscountLineNo;
    }

    public String getVatSpecialManagement() {
        return vatSpecialManagement;
    }

    public void setVatSpecialManagement(String vatSpecialManagement) {
        this.vatSpecialManagement = vatSpecialManagement;
    }

    public String getFreeTaxMark() {
        return freeTaxMark;
    }

    public void setFreeTaxMark(String freeTaxMark) {
        this.freeTaxMark = freeTaxMark;
    }

    public String getPreferentialMark() {
        return preferentialMark;
    }

    public void setPreferentialMark(String preferentialMark) {
        this.preferentialMark = preferentialMark;
    }

    public String getPaymentDate() {
        return paymentDate;
    }

    public void setPaymentDate(String paymentDate) {
        this.paymentDate = paymentDate;
    }
}
